#include "py32f0xx_hal.h"                  // Device header

/***************************************************************************
  * @brief  LED配置函数
  * @param  无
  * @retval 无
  *************************************************************************/

void APP_LED_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStruct;

    __HAL_RCC_GPIOA_CLK_ENABLE();                          /* GPIOA时钟使能 */

    /* 初始化GPIOA5 */
    GPIO_InitStruct.Pin = GPIO_PIN_5;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;            /* 推挽输出 */
    GPIO_InitStruct.Pull = GPIO_NOPULL;                    /* 使能上拉 */
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;          /* GPIO速度 */

    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);                /* GPIO初始化 */
}

/*************************点亮LED**********************************************/
void LED_ON(uint16_t Pin)
{
    HAL_GPIO_WritePin(GPIOA,Pin,GPIO_PIN_RESET);		    //将PA0引脚设置为低电平，LED亮起  
}

/*************************熄灭LED**********************************************/
void LED_OFF(uint16_t Pin)
{
    HAL_GPIO_WritePin(GPIOA,Pin,GPIO_PIN_SET);		        //将PA0引脚设置为高电平  
}

/*************************翻转LED**********************************************/
void LED_Retrun(uint16_t Pin)
{
    HAL_GPIO_TogglePin(GPIOA,Pin);		        //将PA0引脚设置为高电平  
}

/*************************闪烁LED**********************************************
  * @brief  LED闪烁函数
  * @param  Pin：控制的IO口引脚；
            ontime：LED点亮时间ms；
            offtime：LED熄灭时间；
            cycle：LED闪烁次数
  * @retval 无
******************************************************************************/
void LED_Blink(uint16_t Pin,uint16_t ontime,uint16_t offtime,int16_t cycle)
{
    for(int16_t n= cycle; n >0; n--)
    {
        HAL_GPIO_WritePin(GPIOA,Pin,GPIO_PIN_RESET);		    //将PA0引脚设置为低电平，LED亮起  
        HAL_Delay(ontime);
        HAL_GPIO_WritePin(GPIOA,Pin,GPIO_PIN_SET);              //将PA0引脚设置为低电平，LED亮起 
        HAL_Delay(offtime);    
    }  
 
}
